using System;
using System.Collections.Generic;
using System.Text;
using NBusiness.CodeDom.Compiler;

namespace NBusiness.CodeDom
{
    [Serializable]
    public abstract class EntityRoot : EntityCompileUnit, IFamilyUnit
    {
        Dictionary<string, EntityFamily> _families = new Dictionary<string, EntityFamily>();
        public Dictionary<string, EntityFamily> Families
        {
            get { return _families; }
        }

        private Dictionary<Type, EntityTemplate> _templates = new Dictionary<Type, EntityTemplate>();
        public Dictionary<Type, EntityTemplate> Templates
        {
            get { return _templates; }
        }

        Dictionary<string, List<EntityUsing>> _using = new Dictionary<string, List<EntityUsing>>();
        public Dictionary<string, List<EntityUsing>> Using
        {
            get { return _using; }
        }

        public IHasParent Parent
        {
            get { return null; }
        }

        public string Fullname
        {
            get { return string.Empty; }
        }
    }
}
